home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 219 (1992-09-10)(Manewaldt, A.)(DE)(PD).zip / Taifun 219 (1992-09-10)(Manewaldt, A.)(DE)(PD).adf / BILDSCHIRMSCHONER / Bildschirmschoner.bas < prev    next >
BASIC Source File  |  1992-09-02  |  3KB  |  167 lines

  1. LIBRARY "exec.library"
  2. DECLARE FUNCTION Findtask&() LIBRARY
  3. DECLARE FUNCTION settaskpri&() LIBRARY
  4. task&=Findtask&(0)
  5. CALL settaskpri(task&,-127)
  6. WINDOW 1,"Bildschirmschoner 1.0          © 1992 by Siegfried Rings",(0,0)-(600,40),24+4+3
  7.  
  8.    sWindow&   = WINDOW(7)
  9.    sScreen&   = PEEKL(sWindow& + 46)
  10.    sViewPort& = sScreen& + 44
  11.    sRastPort& = sScreen& + 84
  12.    sColorMap& = PEEKL(sViewPort& + 4)
  13.    colorTab&  = PEEKL(sColorMap& + 4)
  14.  
  15. FOR i=0 TO 3
  16. farbe=PEEKW(colorTab&+(2*i))
  17. r3%(i)=farbe\16^2
  18. g3%(i)=(farbe MOD 16^2)\16
  19. b3%(i)=farbe-r3%(i)*256-g3%(i)*16
  20. NEXT i
  21.  
  22. MENU 1,0,1,"SR_SOFTWARE_DESIGN "
  23. MENU 1,1,1,"Zeit einstellen"
  24. MENU 1,2,1,"Über das Programm"
  25. MENU 1,3,1,"Entfernen"
  26.  
  27. FOR i=2 TO 4
  28. MENU i,0,0,""
  29. NEXT i
  30.  
  31. haupt1:
  32. zeit&=TIMER
  33. zeit2&=10
  34. IF COMMAND$<>"" THEN
  35.  zeit2&=VAL(COMMAND$)
  36. END IF
  37.  
  38. IF zeit2&<1 THEN zeit2&=1
  39. PRINT "Die Zeit steht auf ";zeit2&;" Sekunden"
  40. poregister&=14675978&
  41. p1register&=14675980&
  42.  
  43. mr&=14675990&
  44. dr&=12574721&
  45. ml&=dr&
  46. t1&=12577793&
  47. p00=PEEKW(poregister&)
  48. p11=PEEKW(p1register&)
  49. br11=PEEKW(mr&)
  50. bl11=PEEK(ml&)
  51. d11=PEEK(dr&)
  52. t11=PEEK(t1&)
  53.  
  54. haupt:
  55.  
  56. p0=PEEKW(poregister&)
  57. p1=PEEKW(p1register&)
  58. br1=PEEKW(mr&)
  59.  d1=PEEK(dr&)
  60. bl1=PEEK(ml&)
  61. t12=PEEK(t1&)
  62. IF p0<>p00  THEN GOSUB normal
  63.  IF d11<>d1  THEN GOSUB normal
  64. IF  br1<>br11  THEN GOSUB normal
  65. IF  p1<>p11  THEN GOSUB normal
  66. IF bl1<>bl11   THEN GOSUB normal
  67. IF t11<>t12  THEN GOSUB normal
  68.  
  69. IF TIMER-zeit2&>zeit& AND bit=0 THEN GOSUB dunkel
  70.  
  71.  
  72. m1%=MENU(0)
  73.  
  74. IF m1%<>1 THEN GOTO haupt
  75. m1%=MENU(1)
  76. ON m1%GOSUB eins,zwei,drei
  77. GOTO haupt
  78.  
  79. eins:
  80. WINDOW 2,"ZEIT EINSTELLEN IN SEKUNDEN",(100,100)-(310,130),1
  81.  
  82. LINE (130,5)-(170,20),2,bf
  83. LINE (130,5)-(170,20),1,b
  84.  
  85. COLOR 1,2
  86. LOCATE 2,18:PRINT "OKAY"
  87. COLOR 1,0
  88.  
  89. LINE (10,5)-(20,20),2
  90. LINE (10,5)-(30,5),2
  91. LINE (30,5)-(20,20),2
  92. PAINT (20,15),1,2
  93. LINE (90,20)-(110,20),2
  94. LINE (90,20)-(100,5),2
  95. LINE (110,20)-(100,5),2
  96. PAINT (100,15),1,2
  97. LOCATE 2,5:PRINT zeit2&
  98.  
  99. eins1:
  100. IF MOUSE(0)=0 THEN GOTO eins1
  101.  
  102. x=MOUSE(1)
  103. y=MOUSE(2)
  104.  
  105. IF y>5 AND y<20 THEN
  106. IF x>10 AND x<30 THEN zeit2&=zeit2&+1:CALL warten(.1)
  107. IF x>90 AND x<110 THEN zeit2&=zeit2&-1:CALL warten(.1)
  108. IF x>130 AND x<170 THEN GOTO eins2
  109. END IF
  110. IF zeit2&<1 THEN zeit2&=1
  111. IF zeit2&>4000 THEN zeit2&=4000
  112. LOCATE 2,5:PRINT zeit2&
  113. GOTO eins1
  114. eins2:
  115. IF zeit2&<1 THEN zeit2&=1
  116. WINDOW CLOSE 2
  117. PRINT "Die Zeit steht auf ";zeit2&;" Sekunden"
  118. RETURN
  119.  
  120. zwei:
  121. WINDOW 2,"Über das Programm 'BILDSCHIRMSCHONER'",(100,100)-(500,180),1
  122. PRINT "BILDSCHIRMSCHONER 1.0 ,programmiert am 12.7.1992"
  123. PRINT "von Siegfried Rings in HISOFT-BASIC (COMPILIERT)"
  124. PRINT "Dieses Programm ist FREEWARE !Jeder soll und darf"
  125. PRINT "es benutzen.Wer mehr wissen will,schreibt an:"
  126. PRINT "Siegfried Rings Software-Design"
  127. PRINT "Iserstraße 7, 5419 Kleinmaischeid BRD"
  128. PRINT
  129. PRINT "         Drücke linke Maustaste";
  130. WHILE MOUSE(0)<>1:WEND
  131. WINDOW CLOSE 2
  132. RETURN
  133.  
  134. drei:
  135. SYSTEM
  136.  
  137. dunkel:
  138. PALETTE 0,0,0,0
  139. CALL display (0)
  140. RETURN
  141.  
  142. normal:
  143.  
  144. p00=PEEKW(poregister&)
  145. p11=PEEKW(p1register&)
  146. br11=PEEKW(mr&)
  147. bl11=PEEK(ml&)
  148. d11=PEEK(dr&)
  149. t11=PEEK(t1&)
  150. zeit&=TIMER
  151. CALL display (1)
  152.  
  153.  PALETTE 0,r3%(0)/15,g3%(0)/15,b3%(0)/15
  154. REM bit=0
  155. REM pokew &hdff180,farbe&
  156. RETURN
  157.  
  158. SUB display(s%) STATIC
  159. IF s%=1 THEN POKEW 14676118&,33024&
  160. IF s%=0 THEN POKEW 14676118&,256
  161. END SUB
  162.  
  163. SUB warten (zeit) STATIC
  164. t=TIMER
  165. WHILE TIMER<t+zeit:WEND
  166. END SUB
  167.